Object-Oriented Design for Sparse Direct Solvers
نویسندگان
چکیده
We discuss the object-oriented design of a software package for solving sparse, symmetric systems of equations (positive definite and indefinite) by direct methods. At the highest layers, we decouple data structure classes from algorithmic classes for flexibility. We describe the important structural and algorithmic classes in our design, and discuss the trade-offs we made for high performance. The kernels at the lower layers were optimized by hand. Our results show no performance loss from our object-oriented design, while providing flexibility, ease of use, and extensibility over solvers using procedural design.
منابع مشابه
The Design of Sparse Direct Solvers Using Object-oriented Techniques
We descrit)e our experience in designing object-oriented software for sparse direct solvers. We discuss Spinb[e, a library of sparse matrix ordering (:odes, and OgLiO, a t)ackage that implements the factorization and triangular solution steps of a direct solver. V(e discuss the goals of our design: managing complexity, simi)licity of interface, flexibility, extensibility, safety, and efficiency...
متن کاملDraft Draft Draft Draft Draft Draft Draft Draft
We describe our experience in designing object-oriented software for a sparse direct solver. We discuss , a library of sparse matrix ordering codes and Oblio, a code implementing the remaining steps in a direct solver. EEciencies comparable to procedural codes are obtained by careful implementations of eecient algorithms. We discuss the other goals of our design: managing complexity, simplicity...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملOblio A Sparse Direct Solver Library for Serial and Parallel Computations
We present Oblio a sparse direct solver library running in both serial an parallel environments The code is written in C using object oriented techniques with the exception of few computationally intensive kernels that are written in Fortran In this paper we explain what motivated the project discuss design issues and report recent re sults
متن کاملComponent Programming and Interoperability in Constraint Solver Design
Prolog was once the main host for implementing constraint solvers. It seems that it is no longer so. To be useful, constraint solvers have to be integrable into industrial applications written in imperative or object-oriented languages; to be efficient, they have to interact with other solvers. To meet these requirements, many solvers are now implemented in the form of extensible object-oriente...
متن کامل